<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Reference</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../proto.html" title="Chapter 33. Boost.Proto">
<link rel="prev" href="users_guide.html" title="Users' Guide">
<link rel="next" href="../boost/proto/term.html" title="Struct template term">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
<td align="center"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="users_guide.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../proto.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/proto/term.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="proto.reference"></a>Reference</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="reference.html#proto.concepts">Concepts</a></span></dt>
<dt><span class="section"><a href="reference.html#proto.reference.classes">Classes</a></span></dt>
<dt><span class="section"><a href="reference.html#proto.reference.functions">Functions</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.args_hpp">Header &lt;boost/proto/args.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.core_hpp">Header &lt;boost/proto/core.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.debug_hpp">Header &lt;boost/proto/debug.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.deep_copy_hpp">Header &lt;boost/proto/deep_copy.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.domain_hpp">Header &lt;boost/proto/domain.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.eval_hpp">Header &lt;boost/proto/eval.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.expr_hpp">Header &lt;boost/proto/expr.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.extends_hpp">Header &lt;boost/proto/extends.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional_hpp">Header &lt;boost/proto/functional.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion_hpp">Header &lt;boost/proto/functional/fusion.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.at_hpp">Header &lt;boost/proto/functional/fusion/at.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.pop_back_hpp">Header &lt;boost/proto/functional/fusion/pop_back.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.pop_front_hpp">Header &lt;boost/proto/functional/fusion/pop_front.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.push_back_hpp">Header &lt;boost/proto/functional/fusion/push_back.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.push_front_hpp">Header &lt;boost/proto/functional/fusion/push_front.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.fusion.reverse_hpp">Header &lt;boost/proto/functional/fusion/reverse.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.begin_hpp">Header &lt;boost/proto/functional/range/begin.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.empty_hpp">Header &lt;boost/proto/functional/range/empty.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.end_hpp">Header &lt;boost/proto/functional/range/end.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.rbegin_hpp">Header &lt;boost/proto/functional/range/rbegin.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.rend_hpp">Header &lt;boost/proto/functional/range/rend.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.range.size_hpp">Header &lt;boost/proto/functional/range/size.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.std_hpp">Header &lt;boost/proto/functional/std.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.std.iterator_hpp">Header &lt;boost/proto/functional/std/iterator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.functional.std.utility_hpp">Header &lt;boost/proto/functional/std/utility.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.fusion_hpp">Header &lt;boost/proto/fusion.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.generate_hpp">Header &lt;boost/proto/generate.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.literal_hpp">Header &lt;boost/proto/literal.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.make_expr_hpp">Header &lt;boost/proto/make_expr.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.matches_hpp">Header &lt;boost/proto/matches.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.operators_hpp">Header &lt;boost/proto/operators.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.proto_hpp">Header &lt;boost/proto/proto.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.proto_fwd_hpp">Header &lt;boost/proto/proto_fwd.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.proto_typeof_hpp">Header &lt;boost/proto/proto_typeof.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.repeat_hpp">Header &lt;boost/proto/repeat.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.tags_hpp">Header &lt;boost/proto/tags.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.traits_hpp">Header &lt;boost/proto/traits.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform_hpp">Header &lt;boost/proto/transform.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.arg_hpp">Header &lt;boost/proto/transform/arg.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.call_hpp">Header &lt;boost/proto/transform/call.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.default_hpp">Header &lt;boost/proto/transform/default.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.env_hpp">Header &lt;boost/proto/transform/env.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.fold_hpp">Header &lt;boost/proto/transform/fold.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.fold_tree_hpp">Header &lt;boost/proto/transform/fold_tree.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.impl_hpp">Header &lt;boost/proto/transform/impl.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.integral_c_hpp">Header &lt;boost/proto/transform/integral_c.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.lazy_hpp">Header &lt;boost/proto/transform/lazy.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.make_hpp">Header &lt;boost/proto/transform/make.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.pass_through_hpp">Header &lt;boost/proto/transform/pass_through.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.transform.when_hpp">Header &lt;boost/proto/transform/when.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.context_hpp">Header &lt;boost/proto/context.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.context.callable_hpp">Header &lt;boost/proto/context/callable.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.context.default_hpp">Header &lt;boost/proto/context/default.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.proto.context.null_hpp">Header &lt;boost/proto/context/null.hpp&gt;</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="proto.concepts"></a>Concepts</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><a class="link" href="../CallableTransform.html" title="Concept CallableTransform">CallableTransform</a></li>
<li class="listitem"><a class="link" href="../Domain.html" title="Concept Domain">Domain</a></li>
<li class="listitem"><a class="link" href="../Expr.html" title="Concept Expr">Expr</a></li>
<li class="listitem"><a class="link" href="../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a></li>
<li class="listitem"><a class="link" href="../PolymorphicFunctionObject.html" title="Concept PolymorphicFunctionObject">PolymorphicFunctionObject</a></li>
<li class="listitem"><a class="link" href="../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a></li>
<li class="listitem"><a class="link" href="../Transform.html" title="Concept Transform">Transform</a></li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="proto.reference.classes"></a>Classes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_.html" title="Struct _">proto::_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_byref.html" title="Struct _byref">proto::_byref</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_byval.html" title="Struct _byval">proto::_byval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_child_c.html" title="Struct template _child_c">proto::_child_c</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_data.html" title="Struct _data">proto::_data</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_default.html" title="Struct template _default">proto::_default</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_env.html" title="Struct _env">proto::_env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_env_var.html" title="Struct template _env_var">proto::_env_var</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_expr.html" title="Struct _expr">proto::_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_state.html" title="Struct _state">proto::_state</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_value.html" title="Struct _value">proto::_value</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/_void.html" title="Struct _void">proto::_void</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/address_of.html" title="Struct template address_of">proto::address_of</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/and_.html" title="Struct template and_">proto::and_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/arity_of.html" title="Struct template arity_of">proto::arity_of</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/assign.html" title="Struct template assign">proto::assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/basic_default_domain.html" title="Struct basic_default_domain">proto::basic_default_domain</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/basic_default_generator.html" title="Struct basic_default_generator">proto::basic_default_generator</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/basic_expr.html" title="Struct template basic_expr">proto::basic_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/binary_expr.html" title="Struct template binary_expr">proto::binary_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_and.html" title="Struct template bitwise_and">proto::bitwise_and</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_and_assign.html" title="Struct template bitwise_and_assign">proto::bitwise_and_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_or.html" title="Struct template bitwise_or">proto::bitwise_or</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_or_assign.html" title="Struct template bitwise_or_assign">proto::bitwise_or_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_xor.html" title="Struct template bitwise_xor">proto::bitwise_xor</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/bitwise_xor_assign.html" title="Struct template bitwise_xor_assign">proto::bitwise_xor_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/by_value_generator.html" title="Struct by_value_generator">proto::by_value_generator</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/call.html" title="Struct template call">proto::call</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/callable.html" title="Struct callable">proto::callable</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/char_.html" title="Struct template char_">proto::char_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/comma.html" title="Struct template comma">proto::comma</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/complement.html" title="Struct template complement">proto::complement</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/compose_generators.html" title="Struct template compose_generators">proto::compose_generators</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/callable_context.html" title="Struct template callable_context">proto::context::callable_context</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/callable_eval.html" title="Struct template callable_eval">proto::context::callable_eval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/default_context.html" title="Struct default_context">proto::context::default_context</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/default_eval.html" title="Struct template default_eval">proto::context::default_eval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/null_context.html" title="Struct null_context">proto::context::null_context</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/context/null_eval.html" title="Struct template null_eval">proto::context::null_eval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/convertible_to.html" title="Struct template convertible_to">proto::convertible_to</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/data_type.html" title="Struct data_type">proto::data_type</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/default_generator.html" title="Struct default_generator">proto::default_generator</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/dereference.html" title="Struct template dereference">proto::dereference</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/divides.html" title="Struct template divides">proto::divides</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/divides_assign.html" title="Struct template divides_assign">proto::divides_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/domain.html" title="Struct template domain">proto::domain</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/domain/as_child.html" title="Struct template as_child">proto::domain::as_child</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/domain/as_expr.html" title="Struct template as_expr">proto::domain::as_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/domain_of.html" title="Struct template domain_of">proto::domain_of</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/empty_env.html" title="Struct empty_env">proto::empty_env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/env.html" title="Struct template env">proto::env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/equal_to.html" title="Struct template equal_to">proto::equal_to</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/exact.html" title="Struct template exact">proto::exact</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/expr.html" title="Struct template expr">proto::expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/extends.html" title="Struct template extends">proto::extends</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/external_transform.html" title="Struct external_transform">proto::external_transform</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/external_transforms.html" title="Struct template external_transforms">proto::external_transforms</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/fold.html" title="Struct template fold">proto::fold</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/fold_tree.html" title="Struct template fold_tree">proto::fold_tree</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/function.html" title="Struct template function">proto::function</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/advance.html" title="Struct advance">proto::functional::advance</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/as_child.html" title="Struct template as_child">proto::functional::as_child</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/as_env.html" title="Struct as_env">proto::functional::as_env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/as_expr.html" title="Struct template as_expr">proto::functional::as_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/at.html" title="Struct at">proto::functional::at</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/begin.html" title="Struct begin">proto::functional::begin</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/child.html" title="Struct template child">proto::functional::child</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/child_c.html" title="Struct template child_c">proto::functional::child_c</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/deep_copy.html" title="Struct deep_copy">proto::functional::deep_copy</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/display_expr.html" title="Struct display_expr">proto::functional::display_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/distance.html" title="Struct distance">proto::functional::distance</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/empty.html" title="Struct empty">proto::functional::empty</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/end.html" title="Struct end">proto::functional::end</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/env_var.html" title="Struct template env_var">proto::functional::env_var</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/eval.html" title="Struct eval">proto::functional::eval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/first.html" title="Struct first">proto::functional::first</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/flatten.html" title="Struct flatten">proto::functional::flatten</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/has_env_var.html" title="Struct template has_env_var">proto::functional::has_env_var</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/left.html" title="Struct left">proto::functional::left</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/make_pair.html" title="Struct make_pair">proto::functional::make_pair</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/next.html" title="Struct next">proto::functional::next</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/pop_back.html" title="Struct pop_back">proto::functional::pop_back</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/pop_front.html" title="Struct pop_front">proto::functional::pop_front</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/prior.html" title="Struct prior">proto::functional::prior</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/push_back.html" title="Struct push_back">proto::functional::push_back</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/push_front.html" title="Struct push_front">proto::functional::push_front</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/rbegin.html" title="Struct rbegin">proto::functional::rbegin</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/rend.html" title="Struct rend">proto::functional::rend</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/reverse.html" title="Struct reverse">proto::functional::reverse</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/right.html" title="Struct right">proto::functional::right</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/second.html" title="Struct second">proto::functional::second</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/size.html" title="Struct size">proto::functional::size</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/unpack_expr.html" title="Struct template unpack_expr">proto::functional::unpack_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/functional/value.html" title="Struct value">proto::functional::value</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/generator.html" title="Struct template generator">proto::generator</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/greater.html" title="Struct template greater">proto::greater</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/greater_equal.html" title="Struct template greater_equal">proto::greater_equal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/if_.html" title="Struct template if_">proto::if_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/if_else_.html" title="Struct template if_else_">proto::if_else_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/int_.html" title="Struct template int_">proto::int_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/integral_c.html" title="Struct template integral_c">proto::integral_c</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_aggregate.html" title="Struct template is_aggregate">proto::is_aggregate</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_callable.html" title="Struct template is_callable">proto::is_callable</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_domain.html" title="Struct template is_domain">proto::is_domain</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_env.html" title="Struct template is_env">proto::is_env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_expr.html" title="Struct template is_expr">proto::is_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_extension.html" title="Struct template is_extension">proto::is_extension</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_proto_expr.html" title="Struct is_proto_expr">proto::is_proto_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/is_transform.html" title="Struct template is_transform">proto::is_transform</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/key_not_found.html" title="Struct key_not_found">proto::key_not_found</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/lazy.html" title="Struct template lazy">proto::lazy</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/less.html" title="Struct template less">proto::less</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/less_equal.html" title="Struct template less_equal">proto::less_equal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/listN.html" title="Struct template listN">proto::list1&lt;&gt;, proto::list2&lt;&gt;, ...</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/literal.html" title="Struct template literal">proto::literal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/logical_and.html" title="Struct template logical_and">proto::logical_and</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/logical_not.html" title="Struct template logical_not">proto::logical_not</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/logical_or.html" title="Struct template logical_or">proto::logical_or</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/long_.html" title="Struct template long_">proto::long_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/make.html" title="Struct template make">proto::make</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/matches.html" title="Struct template matches">proto::matches</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/mem_ptr.html" title="Struct template mem_ptr">proto::mem_ptr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/minus.html" title="Struct template minus">proto::minus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/minus_assign.html" title="Struct template minus_assign">proto::minus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/modulus.html" title="Struct template modulus">proto::modulus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/modulus_assign.html" title="Struct template modulus_assign">proto::modulus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/multiplies.html" title="Struct template multiplies">proto::multiplies</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/multiplies_assign.html" title="Struct template multiplies_assign">proto::multiplies_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/nary_expr.html" title="Struct template nary_expr">proto::nary_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/negate.html" title="Struct template negate">proto::negate</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/noinvoke.html" title="Struct template noinvoke">proto::noinvoke</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/not_.html" title="Struct template not_">proto::not_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/not_equal_to.html" title="Struct template not_equal_to">proto::not_equal_to</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/nullary_expr.html" title="Struct template nullary_expr">proto::nullary_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/or_.html" title="Struct template or_">proto::or_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/otherwise.html" title="Struct template otherwise">proto::otherwise</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/pack.html" title="Struct pack">proto::pack</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/pass_through.html" title="Struct template pass_through">proto::pass_through</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/plus.html" title="Struct template plus">proto::plus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/plus_assign.html" title="Struct template plus_assign">proto::plus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/pod_generator.html" title="Struct template pod_generator">proto::pod_generator</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/post_dec.html" title="Struct template post_dec">proto::post_dec</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/post_inc.html" title="Struct template post_inc">proto::post_inc</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/pre_dec.html" title="Struct template pre_dec">proto::pre_dec</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/pre_inc.html" title="Struct template pre_inc">proto::pre_inc</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/protect.html" title="Struct template protect">proto::protect</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">proto::result_of::as_env</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">proto::result_of::child</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/deep_copy.html" title="Struct template deep_copy">proto::result_of::deep_copy</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/env_var.html" title="Struct template env_var">proto::result_of::env_var</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/eval.html" title="Struct template eval">proto::result_of::eval</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/has_env_var.html" title="Struct template has_env_var">proto::result_of::has_env_var</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/left.html" title="Struct template left">proto::result_of::left</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/right.html" title="Struct template right">proto::result_of::right</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/result_of/value.html" title="Struct template value">proto::result_of::value</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/reverse_fold_tree.html" title="Struct template reverse_fold_tree">proto::reverse_fold_tree</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/shift_left.html" title="Struct template shift_left">proto::shift_left</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/shift_left_assign.html" title="Struct template shift_left_assign">proto::shift_left_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/shift_right.html" title="Struct template shift_right">proto::shift_right</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/shift_right_assign.html" title="Struct template shift_right_assign">proto::shift_right_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/size_t.html" title="Struct template size_t">proto::size_t</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/subscript.html" title="Struct template subscript">proto::subscript</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/switch_.html" title="Struct template switch_">proto::switch_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/address_of.html" title="Struct address_of">proto::tag::address_of</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/assign.html" title="Struct assign">proto::tag::assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_and.html" title="Struct bitwise_and">proto::tag::bitwise_and</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">proto::tag::bitwise_and_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_or.html" title="Struct bitwise_or">proto::tag::bitwise_or</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">proto::tag::bitwise_or_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_xor.html" title="Struct bitwise_xor">proto::tag::bitwise_xor</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">proto::tag::bitwise_xor_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/comma.html" title="Struct comma">proto::tag::comma</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/complement.html" title="Struct complement">proto::tag::complement</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/dereference.html" title="Struct dereference">proto::tag::dereference</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/divides.html" title="Struct divides">proto::tag::divides</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/divides_assign.html" title="Struct divides_assign">proto::tag::divides_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/equal_to.html" title="Struct equal_to">proto::tag::equal_to</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/function.html" title="Struct function">proto::tag::function</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/greater.html" title="Struct greater">proto::tag::greater</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/greater_equal.html" title="Struct greater_equal">proto::tag::greater_equal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/less.html" title="Struct less">proto::tag::less</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/less_equal.html" title="Struct less_equal">proto::tag::less_equal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/logical_and.html" title="Struct logical_and">proto::tag::logical_and</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/logical_not.html" title="Struct logical_not">proto::tag::logical_not</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/logical_or.html" title="Struct logical_or">proto::tag::logical_or</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/mem_ptr.html" title="Struct mem_ptr">proto::tag::mem_ptr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/minus.html" title="Struct minus">proto::tag::minus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/minus_assign.html" title="Struct minus_assign">proto::tag::minus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/modulus.html" title="Struct modulus">proto::tag::modulus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/modulus_assign.html" title="Struct modulus_assign">proto::tag::modulus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/multiplies.html" title="Struct multiplies">proto::tag::multiplies</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/multiplies_assign.html" title="Struct multiplies_assign">proto::tag::multiplies_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/negate.html" title="Struct negate">proto::tag::negate</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/not_equal_to.html" title="Struct not_equal_to">proto::tag::not_equal_to</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/plus.html" title="Struct plus">proto::tag::plus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/plus_assign.html" title="Struct plus_assign">proto::tag::plus_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/post_dec.html" title="Struct post_dec">proto::tag::post_dec</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/post_inc.html" title="Struct post_inc">proto::tag::post_inc</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/pre_dec.html" title="Struct pre_dec">proto::tag::pre_dec</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/pre_inc.html" title="Struct pre_inc">proto::tag::pre_inc</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/shift_left.html" title="Struct shift_left">proto::tag::shift_left</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/shift_left_assign.html" title="Struct shift_left_assign">proto::tag::shift_left_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/shift_right.html" title="Struct shift_right">proto::tag::shift_right</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/shift_right_assign.html" title="Struct shift_right_assign">proto::tag::shift_right_assign</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/subscript.html" title="Struct subscript">proto::tag::subscript</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/terminal.html" title="Struct terminal">proto::tag::terminal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag/unary_plus.html" title="Struct unary_plus">proto::tag::unary_plus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/tag_of.html" title="Struct template tag_of">proto::tag_of</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/term.html" title="Struct template term">proto::term</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/terminal.html" title="Struct template terminal">proto::terminal</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/transform.html" title="Struct template transform">proto::transform</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/transforms_type.html" title="Struct transforms_type">proto::transforms_type</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/transform_impl.html" title="Struct template transform_impl">proto::transform_impl</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/unary_expr.html" title="Struct template unary_expr">proto::unary_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/unary_plus.html" title="Struct template unary_plus">proto::unary_plus</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/use_basic_expr.html" title="Struct template use_basic_expr">proto::use_basic_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/unexpr.html" title="Struct template unexpr">proto::unexpr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/vararg.html" title="Struct template vararg">proto::vararg</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/wants_basic_expr.html" title="Struct template wants_basic_expr">proto::wants_basic_expr</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/when.html" title="Struct template when">proto::when</a></code>
        </code></li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="proto.reference.functions"></a>Functions</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/as_child.html" title="Function as_child">proto::as_child()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/as_env.html" title="Function as_env">proto::as_env()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/as_expr.html" title="Function as_expr">proto::as_expr()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/assert_matches.html" title="Function template assert_matches">proto::assert_matches()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/assert_matches_not.html" title="Function template assert_matches_not">proto::assert_matches_not()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/child.html" title="Function child">proto::child()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/child_c.html" title="Function child_c">proto::child_c()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/deep_copy.html" title="Function template deep_copy">proto::deep_copy()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/display_expr.html" title="Function display_expr">proto::display_expr()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/env_var.html" title="Function env_var">proto::env_var()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/eval.html" title="Function eval">proto::eval()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/flatten.html" title="Function flatten">proto::flatten()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/has_env_var.html" title="Function has_env_var">proto::has_env_var()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="reference.html#boost.proto.if_else">proto::if_else()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/left.html" title="Function left">proto::left()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/lit.html" title="Function lit">proto::lit()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/make_expr.html" title="Function make_expr">proto::make_expr()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/right.html" title="Function right">proto::right()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/unpack_expr.html" title="Function unpack_expr">proto::unpack_expr()</a></code>
        </code></li>
<li class="listitem"><code class="computeroutput">
          <code class="computeroutput"><a class="link" href="../boost/proto/value.html" title="Function value">proto::value()</a></code>
        </code></li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.args_hpp"></a>Header &lt;<a href="../../../boost/proto/args.hpp" target="_top">boost/proto/args.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definitions of the <code class="computeroutput">
    <a class="link" href="../boost/proto/term.html" title="Struct template term">proto::term&lt;&gt;</a></code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/listN.html" title="Struct template listN">proto::list1&lt;&gt;</a></code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/listN.html" title="Struct template listN">proto::list2&lt;&gt;</a></code>, etc.
    class templates.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/term.html" title="Struct template term">term</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> Arg<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/listN.html" title="Struct template listN">listN</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.core_hpp"></a>Header &lt;<a href="../../../boost/proto/core.hpp" target="_top">boost/proto/core.hpp</a>&gt;</h3></div></div></div>
<p>Includes all of Proto, except the contexts, transforms, debug utilities and Boost.Typeof registrations.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.debug_hpp"></a>Header &lt;<a href="../../../boost/proto/debug.hpp" target="_top">boost/proto/debug.hpp</a>&gt;</h3></div></div></div>
<p>Utilities for debugging Proto expression trees </p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_ASSERT_MATCHES.html" title="Macro BOOST_PROTO_ASSERT_MATCHES">BOOST_PROTO_ASSERT_MATCHES</a>(expr, Grammar)
<a class="link" href="../BOOST_PROTO_A_1_3_34_5_5_4.html" title="Macro BOOST_PROTO_ASSERT_MATCHES_NOT">BOOST_PROTO_ASSERT_MATCHES_NOT</a>(expr, Grammar)</pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="../boost/proto/display_expr.html" title="Function display_expr"><span class="identifier">display_expr</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="../boost/proto/display_expr.html" title="Function display_expr"><span class="identifier">display_expr</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">void</span> <a class="link" href="../boost/proto/assert_matches.html" title="Function template assert_matches"><span class="identifier">assert_matches</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">void</span> <a class="link" href="../boost/proto/assert_matches_not.html" title="Function template assert_matches_not"><span class="identifier">assert_matches_not</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/display_expr.html" title="Struct display_expr">display_expr</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.deep_copy_hpp"></a>Header &lt;<a href="../../../boost/proto/deep_copy.hpp" target="_top">boost/proto/deep_copy.hpp</a>&gt;</h3></div></div></div>
<p>Replace all nodes stored by reference by nodes stored by value.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/deep_copy.html" title="Struct template deep_copy">proto::result_of::deep_copy</a><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/deep_copy.html" title="Function template deep_copy"><span class="identifier">deep_copy</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/deep_copy.html" title="Struct template deep_copy">deep_copy</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/deep_copy.html" title="Struct deep_copy">deep_copy</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.domain_hpp"></a>Header &lt;<a href="../../../boost/proto/domain.hpp" target="_top">boost/proto/domain.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definition of the <code class="computeroutput"><a class="link" href="../boost/proto/domain.html" title="Struct template domain">proto::domain&lt;&gt;</a>
    </code> class template and helpers for defining domains with a generator for customizing expression
    construction and a grammar for controlling operator overloading.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Generator <span class="special">=</span> <a class="link" href="../boost/proto/default_generator.html" title="Struct default_generator">proto::default_generator</a><span class="special">,</span> 
             <span class="keyword">typename</span> Grammar <span class="special">=</span> <a class="link" href="../boost/proto/_.html" title="Struct _">proto::_</a><span class="special">,</span> <span class="keyword">typename</span> Super <span class="special">=</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/domain.html" title="Struct template domain">domain</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">default_domain</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/basic_default_domain.html" title="Struct basic_default_domain">basic_default_domain</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">deduce_domain</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_domain.html" title="Struct template is_domain">is_domain</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/domain_of.html" title="Struct template domain_of">domain_of</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.eval_hpp"></a>Header &lt;<a href="../../../boost/proto/eval.hpp" target="_top">boost/proto/eval.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/eval.html" title="Function eval">proto::eval()</a>
    </code> expression evaluator.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special">&lt;</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/eval.html" title="Function eval"><span class="identifier">eval</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/eval.html" title="Struct template eval">proto::result_of::eval</a><span class="special">&lt;</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/eval.html" title="Function eval"><span class="identifier">eval</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Context</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/eval.html" title="Struct eval">eval</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/eval.html" title="Struct template eval">eval</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.expr_hpp"></a>Header &lt;<a href="../../../boost/proto/expr.hpp" target="_top">boost/proto/expr.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Args<span class="special">,</span> <span class="keyword">long</span> Arity <span class="special">=</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">arity</span><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/basic_expr.html" title="Struct template basic_expr">basic_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Args<span class="special">,</span> <span class="keyword">long</span> Arity <span class="special">=</span> <span class="identifier">Args</span><span class="special">::</span><span class="identifier">arity</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/expr.html" title="Struct template expr">expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/unexpr.html" title="Struct template unexpr">unexpr</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.extends_hpp"></a>Header &lt;<a href="../../../boost/proto/extends.hpp" target="_top">boost/proto/extends.hpp</a>&gt;</h3></div></div></div>
<p>Macros and a base class for defining end-user expression types </p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_EXTENDS.html" title="Macro BOOST_PROTO_EXTENDS">BOOST_PROTO_EXTENDS</a>(Expr, Derived, Domain)
<a class="link" href="../BOOST_PROTO_BASIC_EXTENDS.html" title="Macro BOOST_PROTO_BASIC_EXTENDS">BOOST_PROTO_BASIC_EXTENDS</a>(Expr, Derived, Domain)
<a class="link" href="../BOOST_PROTO_EXTENDS_ASSIGN.html" title="Macro BOOST_PROTO_EXTENDS_ASSIGN">BOOST_PROTO_EXTENDS_ASSIGN</a>()
<a class="link" href="../BOOST_PROTO__1_3_34_5_10_6.html" title="Macro BOOST_PROTO_EXTENDS_FUNCTION">BOOST_PROTO_EXTENDS_FUNCTION</a>()
<a class="link" href="../BOOST_PROTO__1_3_34_5_10_7.html" title="Macro BOOST_PROTO_EXTENDS_SUBSCRIPT">BOOST_PROTO_EXTENDS_SUBSCRIPT</a>()
<a class="link" href="../BOOST_PROTO__1_3_34_5_10_8.html" title="Macro BOOST_PROTO_EXTENDS_USING_ASSIGN">BOOST_PROTO_EXTENDS_USING_ASSIGN</a>(Derived)
<a class="link" href="../BOOST_PROTO__1_3_34_5_10_9.html" title="Macro BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT">BOOST_PROTO_EXTENDS_USING_ASSIGN_NON_DEPENDENT</a>(Derived)</pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_proto_expr.html" title="Struct is_proto_expr">is_proto_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Derived<span class="special">,</span> 
             <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/extends.html" title="Struct template extends">extends</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional_hpp"></a>Header &lt;<a href="../../../boost/proto/functional.hpp" target="_top">boost/proto/functional.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the functional extensions of Proto.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion.hpp" target="_top">boost/proto/functional/fusion.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the functional extensions to Proto for the Boost.Fusion library.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.at_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/at.hpp" target="_top">boost/proto/functional/fusion/at.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/at.html" title="Struct at">boost::proto::functional::at</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/at.html" title="Struct at">at</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.pop_back_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/pop_back.hpp" target="_top">boost/proto/functional/fusion/pop_back.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/pop_back.html" title="Struct pop_back">boost::proto::functional::pop_back</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/pop_back.html" title="Struct pop_back">pop_back</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.pop_front_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/pop_front.hpp" target="_top">boost/proto/functional/fusion/pop_front.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/pop_front.html" title="Struct pop_front">boost::proto::functional::pop_front</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/pop_front.html" title="Struct pop_front">pop_front</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.push_back_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/push_back.hpp" target="_top">boost/proto/functional/fusion/push_back.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/push_back.html" title="Struct push_back">boost::proto::functional::push_back</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/push_back.html" title="Struct push_back">push_back</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.push_front_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/push_front.hpp" target="_top">boost/proto/functional/fusion/push_front.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/push_front.html" title="Struct push_front">boost::proto::functional::push_front</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/push_front.html" title="Struct push_front">push_front</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.fusion.reverse_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/fusion/reverse.hpp" target="_top">boost/proto/functional/fusion/reverse.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/reverse.html" title="Struct reverse">boost::proto::functional::reverse</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/reverse.html" title="Struct reverse">reverse</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.begin_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/begin.hpp" target="_top">boost/proto/functional/range/begin.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/begin.html" title="Struct begin">boost::proto::functional::begin</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/begin.html" title="Struct begin">begin</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.empty_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/empty.hpp" target="_top">boost/proto/functional/range/empty.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/empty.html" title="Struct empty">boost::proto::functional::empty</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/empty.html" title="Struct empty">empty</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.end_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/end.hpp" target="_top">boost/proto/functional/range/end.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/end.html" title="Struct end">boost::proto::functional::end</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/end.html" title="Struct end">end</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.rbegin_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/rbegin.hpp" target="_top">boost/proto/functional/range/rbegin.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/rbegin.html" title="Struct rbegin">boost::proto::functional::rbegin</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/rbegin.html" title="Struct rbegin">rbegin</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.rend_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/rend.hpp" target="_top">boost/proto/functional/range/rend.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/rend.html" title="Struct rend">boost::proto::functional::rend</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/rend.html" title="Struct rend">rend</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.range.size_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/range/size.hpp" target="_top">boost/proto/functional/range/size.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callable <code class="computeroutput"><a class="link" href="../boost/proto/functional/size.html" title="Struct size">boost::proto::functional::size</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/size.html" title="Struct size">size</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.std_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/std.hpp" target="_top">boost/proto/functional/std.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the functional extensions to Proto for the standard library.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.std.iterator_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/std/iterator.hpp" target="_top">boost/proto/functional/std/iterator.hpp</a>&gt;</h3></div></div></div>
<p>Includes Proto callables for the functions found in the standard <code class="computeroutput">&lt;iterator&gt; header</code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/advance.html" title="Struct advance">advance</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/distance.html" title="Struct distance">distance</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/next.html" title="Struct next">next</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/prior.html" title="Struct prior">prior</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.functional.std.utility_hpp"></a>Header &lt;<a href="../../../boost/proto/functional/std/utility.hpp" target="_top">boost/proto/functional/std/utility.hpp</a>&gt;</h3></div></div></div>
<p>Defines Proto callables <code class="computeroutput"><a class="link" href="../boost/proto/functional/make_pair.html" title="Struct make_pair">boost::proto::functional::make_pair</a></code>,
  <code class="computeroutput"><a class="link" href="../boost/proto/functional/first.html" title="Struct first">boost::proto::functional::first</a></code> and
  <code class="computeroutput"><a class="link" href="../boost/proto/functional/second.html" title="Struct second">boost::proto::functional::second</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/make_pair.html" title="Struct make_pair">make_pair</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/first.html" title="Struct first">first</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/second.html" title="Struct second">second</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.fusion_hpp"></a>Header &lt;<a href="../../../boost/proto/fusion.hpp" target="_top">boost/proto/fusion.hpp</a>&gt;</h3></div></div></div>
<p>Make any Proto expression a valid Fusion sequence </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> <a class="link" href="../boost/proto/flatten.html" title="Function flatten"><span class="identifier">flatten</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/flatten.html" title="Struct template flatten">proto::result_of::flatten</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a class="link" href="../boost/proto/flatten.html" title="Function flatten"><span class="identifier">flatten</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/flatten.html" title="Struct flatten">flatten</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/flatten.html" title="Struct template flatten">flatten</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.generate_hpp"></a>Header &lt;<a href="../../../boost/proto/generate.hpp" target="_top">boost/proto/generate.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of
    <code class="computeroutput"><a class="link" href="../boost/proto/default_generator.html" title="Struct default_generator">proto::default_generator</a></code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/generator.html" title="Struct template generator">proto::generator</a>&lt;&gt;</code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/pod_generator.html" title="Struct template pod_generator">proto::pod_generator</a>&lt;&gt;</code>
    and other utilities that users can use to post-process new expression objects that
    Proto creates.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/default_generator.html" title="Struct default_generator">default_generator</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/basic_default_generator.html" title="Struct basic_default_generator">basic_default_generator</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="special">&gt;</span> <span class="keyword">class</span> Extends<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/generator.html" title="Struct template generator">generator</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="special">&gt;</span> <span class="keyword">class</span> Extends<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/pod_generator.html" title="Struct template pod_generator">pod_generator</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/by_value_generator.html" title="Struct by_value_generator">by_value_generator</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> First<span class="special">,</span> <span class="keyword">typename</span> Second<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/compose_generators.html" title="Struct template compose_generators">compose_generators</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Generator<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/use_basic_expr.html" title="Struct template use_basic_expr">use_basic_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Generator<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/wants_basic_expr.html" title="Struct template wants_basic_expr">wants_basic_expr</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.literal_hpp"></a>Header &lt;<a href="../../../boost/proto/literal.hpp" target="_top">boost/proto/literal.hpp</a>&gt;</h3></div></div></div>
<p>
    The
    <code class="computeroutput"><a class="link" href="../boost/proto/literal.html" title="Struct template literal">proto::literal&lt;&gt;</a></code>
    terminal wrapper, and the
    <code class="computeroutput"><a class="link" href="../boost/proto/lit.html" title="Function lit">proto::lit()</a></code>
    function for creating
    <code class="computeroutput"><a class="link" href="../boost/proto/literal.html" title="Struct template literal">proto::literal&lt;&gt;</a></code>
    wrappers.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/literal.html" title="Struct template literal">literal</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/proto/literal.html" title="Struct template literal">proto::literal</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&amp;</span> <span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="../boost/proto/lit.html" title="Function lit"><span class="identifier">lit</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/proto/literal.html" title="Struct template literal">proto::literal</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="../boost/proto/lit.html" title="Function lit"><span class="identifier">lit</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.make_expr_hpp"></a>Header &lt;<a href="../../../boost/proto/make_expr.hpp" target="_top">boost/proto/make_expr.hpp</a>&gt;</h3></div></div></div>
<p>
    Definition of the <code class="computeroutput"><a class="link" href="../boost/proto/make_expr.html" title="Function make_expr">proto::make_expr()</a>
    </code> and <code class="computeroutput"><a class="link" href="../boost/proto/unpack_expr.html" title="Function unpack_expr">proto::unpack_expr()</a>
    </code> utilities for building Proto expression nodes from child nodes or from a Fusion sequence of child
    nodes, respectively.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a class="link" href="../boost/proto/make_expr.html" title="Function make_expr"><span class="identifier">make_expr</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span> <span class="keyword">const</span><span class="special">...</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a class="link" href="../boost/proto/make_expr.html" title="Function make_expr"><span class="identifier">make_expr</span></a><span class="special">(</span><span class="identifier">A</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a class="link" href="../boost/proto/unpack_expr.html" title="Function unpack_expr"><span class="identifier">unpack_expr</span></a><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/unpack_expr.html" title="Struct template unpack_expr">proto::result_of::unpack_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a class="link" href="../boost/proto/unpack_expr.html" title="Function unpack_expr"><span class="identifier">unpack_expr</span></a><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">make_expr</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/unpack_expr.html" title="Struct template unpack_expr">unpack_expr</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/make_expr.html" title="Struct template make_expr">make_expr</a><span class="special">;</span>

      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/make_e_1_3_34_5_31_2_1_2_2.html" title="Struct template make_expr&lt;Tag, Domain, A...&gt;">make_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">A</span><span class="special">...</span><span class="special">&gt;</span><span class="special">;</span>

      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> Void <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/unpack_expr.html" title="Struct template unpack_expr">unpack_expr</a><span class="special">;</span>

      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> Sequence<span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/unpack_1_3_34_5_31_2_1_2_4.html" title="Struct template unpack_expr&lt;Tag, Domain, Sequence&gt;">unpack_expr</a><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">Domain</span><span class="special">,</span> <span class="identifier">Sequence</span><span class="special">&gt;</span><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.matches_hpp"></a>Header &lt;<a href="../../../boost/proto/matches.hpp" target="_top">boost/proto/matches.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/matches.html" title="Struct template matches">proto::matches&lt;&gt;</a>
    </code>
    metafunction for determining if a given expression matches a given pattern.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_.html" title="Struct _">_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/not_.html" title="Struct template not_">not_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> If<span class="special">,</span> <span class="keyword">typename</span> Then <span class="special">=</span> <a class="link" href="../boost/proto/_.html" title="Struct _">proto::_</a><span class="special">,</span> 
             <span class="keyword">typename</span> Else <span class="special">=</span> <a class="link" href="../boost/proto/not_.html" title="Struct template not_">proto::not_</a><span class="special">&lt;</span><a class="link" href="../boost/proto/_.html" title="Struct _">proto::_</a><span class="special">&gt;</span> <span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/if_.html" title="Struct template if_">if_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> G<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/or_.html" title="Struct template or_">or_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> G<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/and_.html" title="Struct template and_">and_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Cases<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Transform.html" title="Concept Transform">Transform</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/switch_.html" title="Struct template switch_">switch_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/exact.html" title="Struct template exact">exact</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/convertible_to.html" title="Struct template convertible_to">convertible_to</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/vararg.html" title="Struct template vararg">vararg</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Grammar<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/matches.html" title="Struct template matches">matches</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.operators_hpp"></a>Header &lt;<a href="../../../boost/proto/operators.hpp" target="_top">boost/proto/operators.hpp</a>&gt;</h3></div></div></div>
<p>Contains all the overloaded operators that make it possible to build Proto expression trees. </p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO__1_3_34_5_33_3.html" title="Macro BOOST_PROTO_DEFINE_OPERATORS">BOOST_PROTO_DEFINE_OPERATORS</a>(Trait, Domain)</pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_extension.html" title="Struct template is_extension">is_extension</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_2"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_3"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_4"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_5"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_6"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_7"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_8"></a><span class="keyword">operator</span><span class="special">~</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operator_1_3_34_5_33_2_1_9"></a><span class="keyword">operator</span><span class="special">~</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_10"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_11"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_12"></a><span class="keyword">operator</span><span class="special">!</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_13"></a><span class="keyword">operator</span><span class="special">!</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_14"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_15"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_16"></a><span class="keyword">operator</span><span class="special">--</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_17"></a><span class="keyword">operator</span><span class="special">--</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_18"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_19"></a><span class="keyword">operator</span><span class="special">++</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_20"></a><span class="keyword">operator</span><span class="special">--</span><span class="special">(</span><span class="identifier">Arg</span> <span class="special">&amp;</span> arg<span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Arg<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_21"></a><span class="keyword">operator</span><span class="special">--</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> arg<span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_22"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_23"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_24"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_25"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_26"></a><span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_27"></a><span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_28"></a><span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_29"></a><span class="keyword">operator</span><span class="special">&gt;&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_30"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_31"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_32"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_33"></a><span class="keyword">operator</span><span class="special">*</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_34"></a><span class="keyword">operator</span><span class="special">/</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_35"></a><span class="keyword">operator</span><span class="special">/</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_36"></a><span class="keyword">operator</span><span class="special">/</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_37"></a><span class="keyword">operator</span><span class="special">/</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_38"></a><span class="keyword">operator</span><span class="special">%</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_39"></a><span class="keyword">operator</span><span class="special">%</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_40"></a><span class="keyword">operator</span><span class="special">%</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_41"></a><span class="keyword">operator</span><span class="special">%</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_42"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_43"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_44"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_45"></a><span class="keyword">operator</span><span class="special">+</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_46"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_47"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_48"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_49"></a><span class="keyword">operator</span><span class="special">-</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_50"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_51"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_52"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_53"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_54"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_55"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_56"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_57"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_58"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_59"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_60"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_61"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_62"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_63"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_64"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_65"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_66"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_67"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_68"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_69"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_70"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_71"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_72"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_73"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_74"></a><span class="keyword">operator</span><span class="special">||</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_75"></a><span class="keyword">operator</span><span class="special">||</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_76"></a><span class="keyword">operator</span><span class="special">||</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_77"></a><span class="keyword">operator</span><span class="special">||</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_78"></a><span class="keyword">operator</span><span class="special">&amp;&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_79"></a><span class="keyword">operator</span><span class="special">&amp;&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_80"></a><span class="keyword">operator</span><span class="special">&amp;&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_81"></a><span class="keyword">operator</span><span class="special">&amp;&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_82"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_83"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_84"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_85"></a><span class="keyword">operator</span><span class="special">&amp;</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_86"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_87"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_88"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_89"></a><span class="keyword">operator</span><span class="special">|</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_90"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_91"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_92"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_93"></a><span class="keyword">operator</span><span class="special">^</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_94"></a><span class="keyword">operator</span><span class="special">,</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_95"></a><span class="keyword">operator</span><span class="special">,</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_96"></a><span class="keyword">operator</span><span class="special">,</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_97"></a><span class="keyword">operator</span><span class="special">,</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_98"></a><span class="keyword">operator</span><span class="special">-&gt;*</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operato_1_3_34_5_33_2_1_99"></a><span class="keyword">operator</span><span class="special">-&gt;*</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_100"></a><span class="keyword">operator</span><span class="special">-&gt;*</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_101"></a><span class="keyword">operator</span><span class="special">-&gt;*</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_102"></a><span class="keyword">operator</span><span class="special">&lt;&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_103"></a><span class="keyword">operator</span><span class="special">&lt;&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_104"></a><span class="keyword">operator</span><span class="special">&lt;&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_105"></a><span class="keyword">operator</span><span class="special">&lt;&lt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_106"></a><span class="keyword">operator</span><span class="special">&gt;&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_107"></a><span class="keyword">operator</span><span class="special">&gt;&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_108"></a><span class="keyword">operator</span><span class="special">&gt;&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_109"></a><span class="keyword">operator</span><span class="special">&gt;&gt;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_110"></a><span class="keyword">operator</span><span class="special">*=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_111"></a><span class="keyword">operator</span><span class="special">*=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_112"></a><span class="keyword">operator</span><span class="special">*=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_113"></a><span class="keyword">operator</span><span class="special">*=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_114"></a><span class="keyword">operator</span><span class="special">/=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_115"></a><span class="keyword">operator</span><span class="special">/=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_116"></a><span class="keyword">operator</span><span class="special">/=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_117"></a><span class="keyword">operator</span><span class="special">/=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_118"></a><span class="keyword">operator</span><span class="special">%=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_119"></a><span class="keyword">operator</span><span class="special">%=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_120"></a><span class="keyword">operator</span><span class="special">%=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_121"></a><span class="keyword">operator</span><span class="special">%=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_122"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_123"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_124"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_125"></a><span class="keyword">operator</span><span class="special">+=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_126"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_127"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_128"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_129"></a><span class="keyword">operator</span><span class="special">-=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_130"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_131"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_132"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_133"></a><span class="keyword">operator</span><span class="special">&amp;=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_134"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_135"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_136"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_137"></a><span class="keyword">operator</span><span class="special">|=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_138"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_139"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">Left</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_140"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Left<span class="special">,</span> <span class="keyword">typename</span> Right<span class="special">&gt;</span> 
      <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.proto.operat_1_3_34_5_33_2_1_141"></a><span class="keyword">operator</span><span class="special">^=</span><span class="special">(</span><span class="identifier">Left</span> <span class="keyword">const</span> <span class="special">&amp;</span> left<span class="special">,</span> <span class="identifier">Right</span> <span class="keyword">const</span> <span class="special">&amp;</span> right<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> A0<span class="special">,</span> <span class="keyword">typename</span> A1<span class="special">,</span> <span class="keyword">typename</span> A2<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/make_expr.html" title="Struct template make_expr">proto::result_of::make_expr</a><span class="special">&lt;</span>
        <a class="link" href="../boost/proto/tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a><span class="special">,</span> 
        <a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">,</span>
        <span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> 
        <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> 
        <span class="identifier">A2</span> <span class="keyword">const</span> <span class="special">&amp;</span>
      <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <span class="keyword">const</span> 
      <a name="boost.proto.if_else"></a><span class="identifier">if_else</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> a0<span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> a1<span class="special">,</span> <span class="identifier">A2</span> <span class="keyword">const</span> <span class="special">&amp;</span> a2<span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.proto_hpp"></a>Header &lt;<a href="../../../boost/proto/proto.hpp" target="_top">boost/proto/proto.hpp</a>&gt;</h3></div></div></div>
<p>Includes all of Proto, except the Boost.Typeof registrations.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.proto_fwd_hpp"></a>Header &lt;<a href="../../../boost/proto/proto_fwd.hpp" target="_top">boost/proto/proto_fwd.hpp</a>&gt;</h3></div></div></div>
<p>Forward declarations of all of proto's public types and functions. </p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_MAX_ARITY.html" title="Macro BOOST_PROTO_MAX_ARITY">BOOST_PROTO_MAX_ARITY</a>
<a class="link" href="../BOOST_PROTO__1_3_34_5_35_4.html" title="Macro BOOST_PROTO_MAX_LOGICAL_ARITY">BOOST_PROTO_MAX_LOGICAL_ARITY</a>
<a class="link" href="../BOOST_PROTO__1_3_34_5_35_5.html" title="Macro BOOST_PROTO_MAX_FUNCTION_CALL_ARITY">BOOST_PROTO_MAX_FUNCTION_CALL_ARITY</a></pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/callable.html" title="Struct callable">callable</a><span class="special">;</span>

    <span class="keyword">int</span> <span class="keyword">const</span> <a class="link" href="../boost/proto/N.html" title="Global N">N</a><span class="special">;</span>

    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/flatten.html" title="Struct flatten">proto::functional::flatten</a> <a name="boost.proto._flatten"></a><span class="identifier">_flatten</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_pair.html" title="Struct make_pair">proto::functional::make_pair</a> <a name="boost.proto._make_pair"></a><span class="identifier">_make_pair</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/first.html" title="Struct first">proto::functional::first</a> <a name="boost.proto._first"></a><span class="identifier">_first</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/second.html" title="Struct second">proto::functional::second</a> <a name="boost.proto._second"></a><span class="identifier">_second</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/pop_back.html" title="Struct pop_back">proto::functional::pop_back</a> <a name="boost.proto._pop_back"></a><span class="identifier">_pop_back</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/pop_front.html" title="Struct pop_front">proto::functional::pop_front</a> <a name="boost.proto._pop_front"></a><span class="identifier">_pop_front</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/push_back.html" title="Struct push_back">proto::functional::push_back</a> <a name="boost.proto._push_back"></a><span class="identifier">_push_back</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/push_front.html" title="Struct push_front">proto::functional::push_front</a> <a name="boost.proto._push_front"></a><span class="identifier">_push_front</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/reverse.html" title="Struct reverse">proto::functional::reverse</a> <a name="boost.proto._reverse"></a><span class="identifier">_reverse</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/eval.html" title="Struct eval">proto::functional::eval</a> <a name="boost.proto._eval"></a><span class="identifier">_eval</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/deep_copy.html" title="Struct deep_copy">proto::functional::deep_copy</a> <a name="boost.proto._deep_copy"></a><span class="identifier">_deep_copy</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/terminal.html" title="Struct terminal">proto::tag::terminal</a> <span class="special">&gt;</span> <a name="boost.proto._make_terminal"></a><span class="identifier">_make_terminal</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/unary_plus.html" title="Struct unary_plus">proto::tag::unary_plus</a> <span class="special">&gt;</span> <a name="boost.proto._make_unary_plus"></a><span class="identifier">_make_unary_plus</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/negate.html" title="Struct negate">proto::tag::negate</a> <span class="special">&gt;</span> <a name="boost.proto._make_negate"></a><span class="identifier">_make_negate</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/dereference.html" title="Struct dereference">proto::tag::dereference</a> <span class="special">&gt;</span> <a name="boost.proto._make_dereference"></a><span class="identifier">_make_dereference</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/complement.html" title="Struct complement">proto::tag::complement</a> <span class="special">&gt;</span> <a name="boost.proto._make_complement"></a><span class="identifier">_make_complement</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/address_of.html" title="Struct address_of">proto::tag::address_of</a> <span class="special">&gt;</span> <a name="boost.proto._make_address_of"></a><span class="identifier">_make_address_of</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_not.html" title="Struct logical_not">proto::tag::logical_not</a> <span class="special">&gt;</span> <a name="boost.proto._make_logical_not"></a><span class="identifier">_make_logical_not</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/pre_inc.html" title="Struct pre_inc">proto::tag::pre_inc</a> <span class="special">&gt;</span> <a name="boost.proto._make_pre_inc"></a><span class="identifier">_make_pre_inc</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/pre_dec.html" title="Struct pre_dec">proto::tag::pre_dec</a> <span class="special">&gt;</span> <a name="boost.proto._make_pre_dec"></a><span class="identifier">_make_pre_dec</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/post_inc.html" title="Struct post_inc">proto::tag::post_inc</a> <span class="special">&gt;</span> <a name="boost.proto._make_post_inc"></a><span class="identifier">_make_post_inc</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/post_dec.html" title="Struct post_dec">proto::tag::post_dec</a> <span class="special">&gt;</span> <a name="boost.proto._make_post_dec"></a><span class="identifier">_make_post_dec</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_left.html" title="Struct shift_left">proto::tag::shift_left</a> <span class="special">&gt;</span> <a name="boost.proto._make_shift_left"></a><span class="identifier">_make_shift_left</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_right.html" title="Struct shift_right">proto::tag::shift_right</a> <span class="special">&gt;</span> <a name="boost.proto._make_shift_right"></a><span class="identifier">_make_shift_right</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/multiplies.html" title="Struct multiplies">proto::tag::multiplies</a> <span class="special">&gt;</span> <a name="boost.proto._make_multiplies"></a><span class="identifier">_make_multiplies</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/divides.html" title="Struct divides">proto::tag::divides</a> <span class="special">&gt;</span> <a name="boost.proto._make_divides"></a><span class="identifier">_make_divides</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/modulus.html" title="Struct modulus">proto::tag::modulus</a> <span class="special">&gt;</span> <a name="boost.proto._make_modulus"></a><span class="identifier">_make_modulus</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/plus.html" title="Struct plus">proto::tag::plus</a> <span class="special">&gt;</span> <a name="boost.proto._make_plus"></a><span class="identifier">_make_plus</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/minus.html" title="Struct minus">proto::tag::minus</a> <span class="special">&gt;</span> <a name="boost.proto._make_minus"></a><span class="identifier">_make_minus</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/less.html" title="Struct less">proto::tag::less</a> <span class="special">&gt;</span> <a name="boost.proto._make_less"></a><span class="identifier">_make_less</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/greater.html" title="Struct greater">proto::tag::greater</a> <span class="special">&gt;</span> <a name="boost.proto._make_greater"></a><span class="identifier">_make_greater</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/less_equal.html" title="Struct less_equal">proto::tag::less_equal</a> <span class="special">&gt;</span> <a name="boost.proto._make_less_equal"></a><span class="identifier">_make_less_equal</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/greater_equal.html" title="Struct greater_equal">proto::tag::greater_equal</a> <span class="special">&gt;</span> <a name="boost.proto._make_greater_equal"></a><span class="identifier">_make_greater_equal</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/equal_to.html" title="Struct equal_to">proto::tag::equal_to</a> <span class="special">&gt;</span> <a name="boost.proto._make_equal_to"></a><span class="identifier">_make_equal_to</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/not_equal_to.html" title="Struct not_equal_to">proto::tag::not_equal_to</a> <span class="special">&gt;</span> <a name="boost.proto._make_not_equal_to"></a><span class="identifier">_make_not_equal_to</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_or.html" title="Struct logical_or">proto::tag::logical_or</a> <span class="special">&gt;</span> <a name="boost.proto._make_logical_or"></a><span class="identifier">_make_logical_or</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_and.html" title="Struct logical_and">proto::tag::logical_and</a> <span class="special">&gt;</span> <a name="boost.proto._make_logical_and"></a><span class="identifier">_make_logical_and</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_and.html" title="Struct bitwise_and">proto::tag::bitwise_and</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_and"></a><span class="identifier">_make_bitwise_and</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_or.html" title="Struct bitwise_or">proto::tag::bitwise_or</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_or"></a><span class="identifier">_make_bitwise_or</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_xor.html" title="Struct bitwise_xor">proto::tag::bitwise_xor</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_xor"></a><span class="identifier">_make_bitwise_xor</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/comma.html" title="Struct comma">proto::tag::comma</a> <span class="special">&gt;</span> <a name="boost.proto._make_comma"></a><span class="identifier">_make_comma</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/mem_ptr.html" title="Struct mem_ptr">proto::tag::mem_ptr</a> <span class="special">&gt;</span> <a name="boost.proto._make_mem_ptr"></a><span class="identifier">_make_mem_ptr</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/assign.html" title="Struct assign">proto::tag::assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_assign"></a><span class="identifier">_make_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_left_assign.html" title="Struct shift_left_assign">proto::tag::shift_left_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_shift_left_assign"></a><span class="identifier">_make_shift_left_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_right_assign.html" title="Struct shift_right_assign">proto::tag::shift_right_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_shift_right_assign"></a><span class="identifier">_make_shift_right_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/multiplies_assign.html" title="Struct multiplies_assign">proto::tag::multiplies_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_multiplies_assign"></a><span class="identifier">_make_multiplies_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/divides_assign.html" title="Struct divides_assign">proto::tag::divides_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_divides_assign"></a><span class="identifier">_make_divides_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/modulus_assign.html" title="Struct modulus_assign">proto::tag::modulus_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_modulus_assign"></a><span class="identifier">_make_modulus_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/plus_assign.html" title="Struct plus_assign">proto::tag::plus_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_plus_assign"></a><span class="identifier">_make_plus_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/minus_assign.html" title="Struct minus_assign">proto::tag::minus_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_minus_assign"></a><span class="identifier">_make_minus_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">proto::tag::bitwise_and_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_and_assign"></a><span class="identifier">_make_bitwise_and_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">proto::tag::bitwise_or_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_or_assign"></a><span class="identifier">_make_bitwise_or_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">proto::tag::bitwise_xor_assign</a> <span class="special">&gt;</span> <a name="boost.proto._make_bitwise_xor_assign"></a><span class="identifier">_make_bitwise_xor_assign</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/subscript.html" title="Struct subscript">proto::tag::subscript</a> <span class="special">&gt;</span> <a name="boost.proto._make_subscript"></a><span class="identifier">_make_subscript</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a> <span class="special">&gt;</span> <a name="boost.proto._make_if_else"></a><span class="identifier">_make_if_else</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/function.html" title="Struct function">proto::tag::function</a> <span class="special">&gt;</span> <a name="boost.proto._make_function"></a><span class="identifier">_make_function</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="../boost/proto/_child_c.html" title="Struct template _child_c">proto::_child_c</a><span class="special">&lt;</span> <em class="replaceable"><code><span class="identifier">N</span></code></em> <span class="special">&gt;</span> <a name="boost.proto._childN"></a><span class="identifier">_childN</span><span class="special">;</span>  <span class="comment">// For each <em class="replaceable"><code>N</code></em> in <code class="computeroutput">[0,BOOST_PROTO_MAX_ARITY)</code></span>
    <span class="keyword">typedef</span> <a class="link" href="reference.html#boost.proto._childN">proto::_child0</a> <a name="boost.proto._child"></a><span class="identifier">_child</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="reference.html#boost.proto._childN">proto::_child0</a> <a name="boost.proto._left"></a><span class="identifier">_left</span><span class="special">;</span>
    <span class="keyword">typedef</span> <a class="link" href="reference.html#boost.proto._childN">proto::_child1</a> <a name="boost.proto._right"></a><span class="identifier">_right</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/terminal.html" title="Struct terminal">proto::tag::terminal</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_terminal"></a><span class="identifier">make_terminal</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/unary_plus.html" title="Struct unary_plus">proto::tag::unary_plus</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_unary_plus"></a><span class="identifier">make_unary_plus</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/negate.html" title="Struct negate">proto::tag::negate</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_negate"></a><span class="identifier">make_negate</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/dereference.html" title="Struct dereference">proto::tag::dereference</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_dereference"></a><span class="identifier">make_dereference</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/complement.html" title="Struct complement">proto::tag::complement</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_complement"></a><span class="identifier">make_complement</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/address_of.html" title="Struct address_of">proto::tag::address_of</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_address_of"></a><span class="identifier">make_address_of</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_not.html" title="Struct logical_not">proto::tag::logical_not</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_logical_not"></a><span class="identifier">make_logical_not</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/pre_inc.html" title="Struct pre_inc">proto::tag::pre_inc</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_pre_inc"></a><span class="identifier">make_pre_inc</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/pre_dec.html" title="Struct pre_dec">proto::tag::pre_dec</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_pre_dec"></a><span class="identifier">make_pre_dec</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/post_inc.html" title="Struct post_inc">proto::tag::post_inc</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_post_inc"></a><span class="identifier">make_post_inc</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/post_dec.html" title="Struct post_dec">proto::tag::post_dec</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_post_dec"></a><span class="identifier">make_post_dec</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_left.html" title="Struct shift_left">proto::tag::shift_left</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_shift_left"></a><span class="identifier">make_shift_left</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_right.html" title="Struct shift_right">proto::tag::shift_right</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_shift_right"></a><span class="identifier">make_shift_right</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/multiplies.html" title="Struct multiplies">proto::tag::multiplies</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_multiplies"></a><span class="identifier">make_multiplies</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/divides.html" title="Struct divides">proto::tag::divides</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_divides"></a><span class="identifier">make_divides</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/modulus.html" title="Struct modulus">proto::tag::modulus</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_modulus"></a><span class="identifier">make_modulus</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/plus.html" title="Struct plus">proto::tag::plus</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_plus"></a><span class="identifier">make_plus</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/minus.html" title="Struct minus">proto::tag::minus</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_minus"></a><span class="identifier">make_minus</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/less.html" title="Struct less">proto::tag::less</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_less"></a><span class="identifier">make_less</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/greater.html" title="Struct greater">proto::tag::greater</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_greater"></a><span class="identifier">make_greater</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/less_equal.html" title="Struct less_equal">proto::tag::less_equal</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_less_equal"></a><span class="identifier">make_less_equal</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/greater_equal.html" title="Struct greater_equal">proto::tag::greater_equal</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_greater_equal"></a><span class="identifier">make_greater_equal</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/equal_to.html" title="Struct equal_to">proto::tag::equal_to</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_equal_to"></a><span class="identifier">make_equal_to</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/not_equal_to.html" title="Struct not_equal_to">proto::tag::not_equal_to</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_not_equal_to"></a><span class="identifier">make_not_equal_to</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_or.html" title="Struct logical_or">proto::tag::logical_or</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_logical_or"></a><span class="identifier">make_logical_or</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/logical_and.html" title="Struct logical_and">proto::tag::logical_and</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_logical_and"></a><span class="identifier">make_logical_and</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_and.html" title="Struct bitwise_and">proto::tag::bitwise_and</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_and"></a><span class="identifier">make_bitwise_and</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_or.html" title="Struct bitwise_or">proto::tag::bitwise_or</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_or"></a><span class="identifier">make_bitwise_or</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_xor.html" title="Struct bitwise_xor">proto::tag::bitwise_xor</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_xor"></a><span class="identifier">make_bitwise_xor</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/comma.html" title="Struct comma">proto::tag::comma</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_comma"></a><span class="identifier">make_comma</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/mem_ptr.html" title="Struct mem_ptr">proto::tag::mem_ptr</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_mem_ptr"></a><span class="identifier">make_mem_ptr</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/assign.html" title="Struct assign">proto::tag::assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_assign"></a><span class="identifier">make_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_left_assign.html" title="Struct shift_left_assign">proto::tag::shift_left_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_shift_left_assign"></a><span class="identifier">make_shift_left_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/shift_right_assign.html" title="Struct shift_right_assign">proto::tag::shift_right_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_shift_right_assign"></a><span class="identifier">make_shift_right_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/multiplies_assign.html" title="Struct multiplies_assign">proto::tag::multiplies_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_multiplies_assign"></a><span class="identifier">make_multiplies_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/divides_assign.html" title="Struct divides_assign">proto::tag::divides_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_divides_assign"></a><span class="identifier">make_divides_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/modulus_assign.html" title="Struct modulus_assign">proto::tag::modulus_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_modulus_assign"></a><span class="identifier">make_modulus_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/plus_assign.html" title="Struct plus_assign">proto::tag::plus_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_plus_assign"></a><span class="identifier">make_plus_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/minus_assign.html" title="Struct minus_assign">proto::tag::minus_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_minus_assign"></a><span class="identifier">make_minus_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">proto::tag::bitwise_and_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_and_assign"></a><span class="identifier">make_bitwise_and_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">proto::tag::bitwise_or_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_or_assign"></a><span class="identifier">make_bitwise_or_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">proto::tag::bitwise_xor_assign</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_bitwise_xor_assign"></a><span class="identifier">make_bitwise_xor_assign</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/subscript.html" title="Struct subscript">proto::tag::subscript</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_subscript"></a><span class="identifier">make_subscript</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/if_else_.html" title="Struct if_else_">proto::tag::if_else_</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_if_else"></a><span class="identifier">make_if_else</span><span class="special">;</span>
      <span class="keyword">typedef</span> <a class="link" href="../boost/proto/functional/make_expr.html" title="Struct template make_expr">proto::functional::make_expr</a><span class="special">&lt;</span> <a class="link" href="../boost/proto/tag/function.html" title="Struct function">proto::tag::function</a> <span class="special">&gt;</span> <a name="boost.proto.functional.make_function"></a><span class="identifier">make_function</span><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.proto_typeof_hpp"></a>Header &lt;<a href="../../../boost/proto/proto_typeof.hpp" target="_top">boost/proto/proto_typeof.hpp</a>&gt;</h3></div></div></div>
<p>Boost.Typeof registrations for Proto's types, and definition of the
    <code class="computeroutput"><a class="link" href="../BOOST_PROTO_AUTO.html" title="Macro BOOST_PROTO_AUTO">BOOST_PROTO_AUTO</a>()</code> macro.</p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_AUTO.html" title="Macro BOOST_PROTO_AUTO">BOOST_PROTO_AUTO</a>(Var, Expr)</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.repeat_hpp"></a>Header &lt;<a href="../../../boost/proto/repeat.hpp" target="_top">boost/proto/repeat.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains macros to ease the generation of repetitious code constructs.
  </p>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_REPEAT.html" title="Macro BOOST_PROTO_REPEAT">BOOST_PROTO_REPEAT</a>(MACRO)
<a class="link" href="../BOOST_PROTO_REPEAT_FROM_TO.html" title="Macro BOOST_PROTO_REPEAT_FROM_TO">BOOST_PROTO_REPEAT_FROM_TO</a>(FROM, TO, MACRO)
<a class="link" href="../BOOST_PROTO_REPEAT_EX.html" title="Macro BOOST_PROTO_REPEAT_EX">BOOST_PROTO_REPEAT_EX</a>(MACRO, typename_A, A, A_a, a)
<a class="link" href="../BOOST_PROTO__1_3_34_5_37_5.html" title="Macro BOOST_PROTO_REPEAT_FROM_TO_EX">BOOST_PROTO_REPEAT_FROM_TO_EX</a>(FROM, TO, MACRO, typename_A, A, A_a, a)
<a class="link" href="../BOOST_PROTO_LOCAL_ITERATE.html" title="Macro BOOST_PROTO_LOCAL_ITERATE">BOOST_PROTO_LOCAL_ITERATE</a>()
<a class="link" href="../BOOST_PROTO_typename_A.html" title="Macro BOOST_PROTO_typename_A">BOOST_PROTO_typename_A</a>(N)
<a class="link" href="../BOOST_PROTO_A_const_ref.html" title="Macro BOOST_PROTO_A_const_ref">BOOST_PROTO_A_const_ref</a>(N)
<a class="link" href="../BOOST_PROTO_A_ref.html" title="Macro BOOST_PROTO_A_ref">BOOST_PROTO_A_ref</a>(N)
<a class="link" href="../BOOST_PROTO_1_3_34_5_37_10.html" title="Macro BOOST_PROTO_A">BOOST_PROTO_A</a>(N)
<a class="link" href="../BOOST_PROTO_A_const.html" title="Macro BOOST_PROTO_A_const">BOOST_PROTO_A_const</a>(N)
<a class="link" href="../BOOST_PROTO_A_const_ref_a.html" title="Macro BOOST_PROTO_A_const_ref_a">BOOST_PROTO_A_const_ref_a</a>(N)
<a class="link" href="../BOOST_PROTO_A_ref_a.html" title="Macro BOOST_PROTO_A_ref_a">BOOST_PROTO_A_ref_a</a>(N)
<a class="link" href="../BOOST_PROTO_ref_a.html" title="Macro BOOST_PROTO_ref_a">BOOST_PROTO_ref_a</a>(N)
<a class="link" href="../BOOST_PROTO_1_3_34_5_37_15.html" title="Macro BOOST_PROTO_a">BOOST_PROTO_a</a>(N)</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.tags_hpp"></a>Header &lt;<a href="../../../boost/proto/tags.hpp" target="_top">boost/proto/tags.hpp</a>&gt;</h3></div></div></div>
<p>Contains the tags for all the overloadable operators in C++ </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">tag</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/terminal.html" title="Struct terminal">terminal</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/unary_plus.html" title="Struct unary_plus">unary_plus</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/negate.html" title="Struct negate">negate</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/dereference.html" title="Struct dereference">dereference</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/complement.html" title="Struct complement">complement</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/address_of.html" title="Struct address_of">address_of</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/logical_not.html" title="Struct logical_not">logical_not</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/pre_inc.html" title="Struct pre_inc">pre_inc</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/pre_dec.html" title="Struct pre_dec">pre_dec</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/post_inc.html" title="Struct post_inc">post_inc</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/post_dec.html" title="Struct post_dec">post_dec</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/shift_left.html" title="Struct shift_left">shift_left</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/shift_right.html" title="Struct shift_right">shift_right</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/multiplies.html" title="Struct multiplies">multiplies</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/divides.html" title="Struct divides">divides</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/modulus.html" title="Struct modulus">modulus</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/plus.html" title="Struct plus">plus</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/minus.html" title="Struct minus">minus</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/less.html" title="Struct less">less</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/greater.html" title="Struct greater">greater</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/less_equal.html" title="Struct less_equal">less_equal</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/greater_equal.html" title="Struct greater_equal">greater_equal</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/equal_to.html" title="Struct equal_to">equal_to</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/not_equal_to.html" title="Struct not_equal_to">not_equal_to</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/logical_or.html" title="Struct logical_or">logical_or</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/logical_and.html" title="Struct logical_and">logical_and</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_and.html" title="Struct bitwise_and">bitwise_and</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_or.html" title="Struct bitwise_or">bitwise_or</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_xor.html" title="Struct bitwise_xor">bitwise_xor</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/comma.html" title="Struct comma">comma</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/mem_ptr.html" title="Struct mem_ptr">mem_ptr</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/assign.html" title="Struct assign">assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/shift_left_assign.html" title="Struct shift_left_assign">shift_left_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/shift_right_assign.html" title="Struct shift_right_assign">shift_right_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/multiplies_assign.html" title="Struct multiplies_assign">multiplies_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/divides_assign.html" title="Struct divides_assign">divides_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/modulus_assign.html" title="Struct modulus_assign">modulus_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/plus_assign.html" title="Struct plus_assign">plus_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/minus_assign.html" title="Struct minus_assign">minus_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_and_assign.html" title="Struct bitwise_and_assign">bitwise_and_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_or_assign.html" title="Struct bitwise_or_assign">bitwise_or_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/bitwise_xor_assign.html" title="Struct bitwise_xor_assign">bitwise_xor_assign</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/subscript.html" title="Struct subscript">subscript</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/if_else_.html" title="Struct if_else_">if_else_</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag/function.html" title="Struct function">function</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.traits_hpp"></a>Header &lt;<a href="../../../boost/proto/traits.hpp" target="_top">boost/proto/traits.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definitions for various expression traits and utilities like
    <code class="computeroutput"><a class="link" href="../boost/proto/tag_of.html" title="Struct template tag_of">proto::tag_of</a>&lt;&gt;</code> and
    <code class="computeroutput"><a class="link" href="../boost/proto/arity_of.html" title="Struct template arity_of">proto::arity_of</a>&lt;&gt;</code>;
    the functions
    <code class="computeroutput"><a class="link" href="../boost/proto/value.html" title="Function value">proto::value</a>()</code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/left.html" title="Function left">proto::left</a>()</code> and
    <code class="computeroutput"><a class="link" href="../boost/proto/right.html" title="Function right">proto::right</a>()</code>;
    <code class="computeroutput"><a class="link" href="../boost/proto/child.html" title="Function child">proto::child</a>()</code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/child_c.html" title="Function child_c">proto::child_c</a>()</code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/as_expr.html" title="Function as_expr">proto::as_expr</a>()</code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/as_child.html" title="Function as_child">proto::as_child</a>()</code>,
    and assorted helpers.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_callable.html" title="Struct template is_callable">is_callable</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_transform.html" title="Struct template is_transform">is_transform</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_aggregate.html" title="Struct template is_aggregate">is_aggregate</a><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/terminal.html" title="Struct template terminal">terminal</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> V<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/if_else_.html" title="Struct template if_else_">if_else_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/unary_plus.html" title="Struct template unary_plus">unary_plus</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/negate.html" title="Struct template negate">negate</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/dereference.html" title="Struct template dereference">dereference</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/complement.html" title="Struct template complement">complement</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/address_of.html" title="Struct template address_of">address_of</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/logical_not.html" title="Struct template logical_not">logical_not</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/pre_inc.html" title="Struct template pre_inc">pre_inc</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/pre_dec.html" title="Struct template pre_dec">pre_dec</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/post_inc.html" title="Struct template post_inc">post_inc</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/post_dec.html" title="Struct template post_dec">post_dec</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/shift_left.html" title="Struct template shift_left">shift_left</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/shift_right.html" title="Struct template shift_right">shift_right</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/multiplies.html" title="Struct template multiplies">multiplies</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/divides.html" title="Struct template divides">divides</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/modulus.html" title="Struct template modulus">modulus</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/plus.html" title="Struct template plus">plus</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/minus.html" title="Struct template minus">minus</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/less.html" title="Struct template less">less</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/greater.html" title="Struct template greater">greater</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/less_equal.html" title="Struct template less_equal">less_equal</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/greater_equal.html" title="Struct template greater_equal">greater_equal</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/equal_to.html" title="Struct template equal_to">equal_to</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/not_equal_to.html" title="Struct template not_equal_to">not_equal_to</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/logical_or.html" title="Struct template logical_or">logical_or</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/logical_and.html" title="Struct template logical_and">logical_and</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_and.html" title="Struct template bitwise_and">bitwise_and</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_or.html" title="Struct template bitwise_or">bitwise_or</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_xor.html" title="Struct template bitwise_xor">bitwise_xor</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/comma.html" title="Struct template comma">comma</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/mem_ptr.html" title="Struct template mem_ptr">mem_ptr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/assign.html" title="Struct template assign">assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/shift_left_assign.html" title="Struct template shift_left_assign">shift_left_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/shift_right_assign.html" title="Struct template shift_right_assign">shift_right_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/multiplies_assign.html" title="Struct template multiplies_assign">multiplies_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/divides_assign.html" title="Struct template divides_assign">divides_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/modulus_assign.html" title="Struct template modulus_assign">modulus_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/plus_assign.html" title="Struct template plus_assign">plus_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/minus_assign.html" title="Struct template minus_assign">minus_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_and_assign.html" title="Struct template bitwise_and_assign">bitwise_and_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_or_assign.html" title="Struct template bitwise_or_assign">bitwise_or_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/bitwise_xor_assign.html" title="Struct template bitwise_xor_assign">bitwise_xor_assign</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/subscript.html" title="Struct template subscript">subscript</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/function.html" title="Struct template function">function</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/nullary_expr.html" title="Struct template nullary_expr">nullary_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/unary_expr.html" title="Struct template unary_expr">unary_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/binary_expr.html" title="Struct template binary_expr">binary_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Tag<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/nary_expr.html" title="Struct template nary_expr">nary_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_expr.html" title="Struct template is_expr">is_expr</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/tag_of.html" title="Struct template tag_of">tag_of</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/arity_of.html" title="Struct template arity_of">arity_of</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_expr.html" title="Function as_expr"><span class="identifier">as_expr</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_expr.html" title="Function as_expr"><span class="identifier">as_expr</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_expr.html" title="Function as_expr"><span class="identifier">as_expr</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">proto::result_of::as_expr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/as_expr.html" title="Function as_expr"><span class="identifier">as_expr</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_child.html" title="Function as_child"><span class="identifier">as_child</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_child.html" title="Function as_child"><span class="identifier">as_child</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_child.html" title="Function as_child"><span class="identifier">as_child</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a><span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">proto::result_of::as_child</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Domain</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/as_child.html" title="Function as_child"><span class="identifier">as_child</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/child.html" title="Function child"><span class="identifier">child</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/child.html" title="Function child"><span class="identifier">child</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/child.html" title="Function child"><span class="identifier">child</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">proto::result_of::child</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/child.html" title="Function child"><span class="identifier">child</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">long</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/child_c.html" title="Function child_c"><span class="identifier">child_c</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">long</span> N<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/child_c.html" title="Struct template child_c">proto::result_of::child_c</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">N</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/child_c.html" title="Function child_c"><span class="identifier">child_c</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/value.html" title="Function value"><span class="identifier">value</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/value.html" title="Struct template value">proto::result_of::value</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/value.html" title="Function value"><span class="identifier">value</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/left.html" title="Function left"><span class="identifier">left</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/left.html" title="Struct template left">proto::result_of::left</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/left.html" title="Function left"><span class="identifier">left</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/right.html" title="Function right"><span class="identifier">right</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/right.html" title="Struct template right">proto::result_of::right</a><span class="special">&lt;</span> <span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/right.html" title="Function right"><span class="identifier">right</span></a><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/as_expr.html" title="Struct template as_expr">as_expr</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/as_child.html" title="Struct template as_child">as_child</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">long</span> N<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/child_c.html" title="Struct template child_c">child_c</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> N <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/child.html" title="Struct template child">child</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/value.html" title="Struct value">value</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/left.html" title="Struct left">left</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/right.html" title="Struct right">right</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/as_expr.html" title="Struct template as_expr">as_expr</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/default_domain.html" title="Struct default_domain">proto::default_domain</a><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/as_child.html" title="Struct template as_child">as_child</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> N <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">long_</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/child.html" title="Struct template child">child</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/value.html" title="Struct template value">value</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/left.html" title="Struct template left">left</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/right.html" title="Struct template right">right</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">long</span> N<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/child_c.html" title="Struct template child_c">child_c</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform_hpp"></a>Header &lt;<a href="../../../boost/proto/transform.hpp" target="_top">boost/proto/transform.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the built-in transforms of Proto.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.arg_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/arg.hpp" target="_top">boost/proto/transform/arg.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of the childN transforms and friends.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_expr.html" title="Struct _expr">_expr</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_state.html" title="Struct _state">_state</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_data.html" title="Struct _data">_data</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> N<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/_child_c.html" title="Struct template _child_c">_child_c</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_value.html" title="Struct _value">_value</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_void.html" title="Struct _void">_void</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_byref.html" title="Struct _byref">_byref</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_byval.html" title="Struct _byval">_byval</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.call_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/call.hpp" target="_top">boost/proto/transform/call.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of the call&lt;&gt; transform. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/call.html" title="Struct template call">call</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.default_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/default.hpp" target="_top">boost/proto/transform/default.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar <span class="special">=</span> <em class="replaceable"><code><span class="identifier">unspecified</span></code></em><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/_default.html" title="Struct template _default">_default</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.env_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/env.hpp" target="_top">boost/proto/transform/env.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis">

<a class="link" href="../BOOST_PROTO_DEFINE_ENV_VAR.html" title="Macro BOOST_PROTO_DEFINE_ENV_VAR">BOOST_PROTO_DEFINE_ENV_VAR</a>(Type, Name)</pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/key_not_found.html" title="Struct key_not_found">key_not_found</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/empty_env.html" title="Struct empty_env">empty_env</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Value<span class="special">,</span> <span class="keyword">typename</span> Env <span class="special">=</span> <a class="link" href="../boost/proto/empty_env.html" title="Struct empty_env">proto::empty_env</a><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/env.html" title="Struct template env">env</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/is_env.html" title="Struct template is_env">is_env</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/data_type.html" title="Struct data_type">data_type</a><span class="special">;</span>

    <a class="link" href="../boost/proto/data_type.html" title="Struct data_type">proto::data_type</a> <span class="keyword">const</span> <a class="link" href="../boost/proto/data.html" title="Global data">data</a><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/_env_var.html" title="Struct template _env_var">_env_var</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/_env.html" title="Struct _env">_env</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">proto::result_of::as_env</a><span class="special">&lt;</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_env.html" title="Function as_env"><span class="identifier">as_env</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">proto::result_of::as_env</a><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/as_env.html" title="Function as_env"><span class="identifier">as_env</span></a><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Env<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/has_env_var.html" title="Struct template has_env_var">proto::result_of::has_env_var</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/has_env_var.html" title="Function has_env_var"><span class="identifier">has_env_var</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Env<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/has_env_var.html" title="Struct template has_env_var">proto::result_of::has_env_var</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/has_env_var.html" title="Function has_env_var"><span class="identifier">has_env_var</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Env<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/env_var.html" title="Struct template env_var">proto::result_of::env_var</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="../boost/proto/env_var.html" title="Function env_var"><span class="identifier">env_var</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Env<span class="special">&gt;</span> 
      <span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/env_var.html" title="Struct template env_var">proto::result_of::env_var</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> 
      <a class="link" href="../boost/proto/env_var.html" title="Function env_var"><span class="identifier">env_var</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Env<span class="special">,</span> <span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Value<span class="special">&gt;</span> 
      <a class="link" href="../boost/proto/env.html" title="Struct template env">proto::env</a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Value</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">UNCVREF</span></code></em><span class="special">(</span><span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">proto::result_of::as_env</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span><span class="special">&gt;</span> 
      <a class="link" href="../boost/proto/operato_1_3_34_5_44_1_1_12.html" title="Function operator,"><span class="keyword">operator</span><span class="special">,</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../boost/proto/env.html" title="Struct template env">proto::env</a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Value</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Env<span class="special">,</span> <span class="keyword">typename</span> Key<span class="special">,</span> <span class="keyword">typename</span> Value<span class="special">&gt;</span> 
      <a class="link" href="../boost/proto/env.html" title="Struct template env">proto::env</a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Value</span><span class="special">,</span> <em class="replaceable"><code><span class="identifier">UNCVREF</span></code></em><span class="special">(</span><span class="keyword">typename</span> <a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">proto::result_of::as_env</a><span class="special">&lt;</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span><span class="special">)</span><span class="special">&gt;</span> 
      <a class="link" href="../boost/proto/operato_1_3_34_5_44_1_1_12.html" title="Function operator,"><span class="keyword">operator</span><span class="special">,</span></a><span class="special">(</span><span class="identifier">Env</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../boost/proto/env.html" title="Struct template env">proto::env</a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">,</span> <span class="identifier">Value</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">namespace</span> <span class="identifier">functional</span> <span class="special">{</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/as_env.html" title="Struct as_env">as_env</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/has_env_var.html" title="Struct template has_env_var">has_env_var</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Key<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/functional/env_var.html" title="Struct template env_var">env_var</a><span class="special">;</span>
    <span class="special">}</span>
    <span class="keyword">namespace</span> <span class="identifier">result_of</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/as_env.html" title="Struct template as_env">as_env</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Env<span class="special">,</span> <span class="keyword">typename</span> Key<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/has_env_var.html" title="Struct template has_env_var">has_env_var</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Env<span class="special">,</span> <span class="keyword">typename</span> Key<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/result_of/env_var.html" title="Struct template env_var">env_var</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.fold_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/fold.hpp" target="_top">boost/proto/transform/fold.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/fold.html" title="Struct template fold">proto::fold&lt;&gt;</a>
    </code> and
    <code class="computeroutput">
      <a class="link" href="../boost/proto/reverse_fold.html" title="Struct template reverse_fold">proto::reverse_fold&lt;&gt;</a>
    </code>
    transforms.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/fold.html" title="Struct template fold">fold</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/reverse_fold.html" title="Struct template reverse_fold">reverse_fold</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.fold_tree_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/fold_tree.hpp" target="_top">boost/proto/transform/fold_tree.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/fold_tree.html" title="Struct template fold_tree">proto::fold_tree&lt;&gt;</a>
    </code> and
    <code class="computeroutput">
      <a class="link" href="../boost/proto/reverse_fold_tree.html" title="Struct template reverse_fold_tree">proto::reverse_fold_tree&lt;&gt;</a>
    </code>
    transforms.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/fold_tree.html" title="Struct template fold_tree">fold_tree</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Sequence<span class="special">,</span> <span class="keyword">typename</span> State0<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/reverse_fold_tree.html" title="Struct template reverse_fold_tree">reverse_fold_tree</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.impl_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/impl.hpp" target="_top">boost/proto/transform/impl.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of transform&lt;&gt; and transform_impl&lt;&gt; helpers. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/transform.html" title="Struct template transform">transform</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> State<span class="special">,</span> <span class="keyword">typename</span> Data<span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/transform_impl.html" title="Struct template transform_impl">transform_impl</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/pack.html" title="Struct pack">pack</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.integral_c_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/integral_c.hpp" target="_top">boost/proto/transform/integral_c.hpp</a>&gt;</h3></div></div></div>
<p>Contains definition of the integral_c transform and friends.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="identifier">T</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/integral_c.html" title="Struct template integral_c">integral_c</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">char</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/char_.html" title="Struct template char_">char_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">int</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/int_.html" title="Struct template int_">int_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">long</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/long_.html" title="Struct template long_">long_</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> I<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/size_t.html" title="Struct template size_t">size_t</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.lazy_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/lazy.hpp" target="_top">boost/proto/transform/lazy.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/lazy.html" title="Struct template lazy">proto::lazy&lt;&gt;</a>
    </code> transform.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/lazy.html" title="Struct template lazy">lazy</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.make_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/make.hpp" target="_top">boost/proto/transform/make.hpp</a>&gt;</h3></div></div></div>
<p>
    Contains definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/make.html" title="Struct template make">proto::make&lt;&gt;</a>
    </code>
    and
    <code class="computeroutput">
      <a class="link" href="../boost/proto/protect.html" title="Struct template protect">proto::protect&lt;&gt;</a>
    </code>
    transforms.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/noinvoke.html" title="Struct template noinvoke">noinvoke</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/protect.html" title="Struct template protect">protect</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/make.html" title="Struct template make">make</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.pass_through_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/pass_through.hpp" target="_top">boost/proto/transform/pass_through.hpp</a>&gt;</h3></div></div></div>
<p>Definition of the
    <code class="computeroutput"><a class="link" href="../boost/proto/pass_through.html" title="Struct template pass_through">proto::pass_through&lt;&gt;</a></code>
    transform, which is the default transform of all of the expression generator metafunctions such as
    <code class="computeroutput"><a class="link" href="../boost/proto/unary_plus.html" title="Struct template unary_plus">proto::unary_plus&lt;&gt;</a></code>,
    <code class="computeroutput"><a class="link" href="../boost/proto/plus.html" title="Struct template plus">proto::plus&lt;&gt;</a></code> and
    <code class="computeroutput"><a class="link" href="../boost/proto/nary_expr.html" title="Struct template nary_expr">proto::nary_expr&lt;&gt;</a></code>.</p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../Domain.html" title="Concept Domain">Domain</a> <span class="special">=</span> <a class="link" href="../boost/proto/deduce_domain.html" title="Struct deduce_domain">proto::deduce_domain</a><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/pass_through.html" title="Struct template pass_through">pass_through</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.transform.when_hpp"></a>Header &lt;<a href="../../../boost/proto/transform/when.hpp" target="_top">boost/proto/transform/when.hpp</a>&gt;</h3></div></div></div>
<p>
    Definition of the
    <code class="computeroutput">
      <a class="link" href="../boost/proto/when.html" title="Struct template when">proto::when&lt;&gt;</a>
    </code> and
    <code class="computeroutput">
      <a class="link" href="../boost/proto/otherwise.html" title="Struct template otherwise">proto::otherwise&lt;&gt;</a>
    </code> transforms.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/transforms_type.html" title="Struct transforms_type">transforms_type</a><span class="special">;</span>

    <a class="link" href="../boost/proto/transforms_type.html" title="Struct transforms_type">proto::transforms_type</a> <span class="keyword">const</span> <a class="link" href="../boost/proto/transforms.html" title="Global transforms">transforms</a><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> <a class="link" href="../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a> <span class="special">=</span> <span class="identifier">Grammar</span><span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/when.html" title="Struct template when">when</a><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> Fun<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/when_Gra_1_3_34_5_52_2_1_4.html" title="Struct template when&lt;Grammar, Fun *&gt;">when</a><span class="special">&lt;</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">Fun</span> <span class="special">*</span><span class="special">&gt;</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> R<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/when_Gra_1_3_34_5_52_2_1_5.html" title="Struct template when&lt;Grammar, R(A...)&gt;">when</a><span class="special">&lt;</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">)</span><span class="special">&gt;</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">,</span> <span class="keyword">typename</span> R<span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> A<span class="special">&gt;</span> 
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/when_Gra_1_3_34_5_52_2_1_6.html" title="Struct template when&lt;Grammar, R(A..., ...)&gt;">when</a><span class="special">&lt;</span><span class="identifier">Grammar</span><span class="special">,</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">A</span><span class="special">...</span><span class="special">,</span> <span class="special">...</span><span class="special">)</span><span class="special">&gt;</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Grammar<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/when_Gra_1_3_34_5_52_2_1_7.html" title="Struct template when&lt;Grammar, proto::external_transform&gt;">when</a><span class="special">&lt;</span><span class="identifier">Grammar</span><span class="special">,</span> <a class="link" href="../boost/proto/external_transform.html" title="Struct external_transform">proto::external_transform</a><span class="special">&gt;</span><span class="special">;</span>

    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Fun<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/otherwise.html" title="Struct template otherwise">otherwise</a><span class="special">;</span>
    <span class="keyword">struct</span> <a class="link" href="../boost/proto/external_transform.html" title="Struct external_transform">external_transform</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span><span class="special">...</span> When<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/external_transforms.html" title="Struct template external_transforms">external_transforms</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.context_hpp"></a>Header &lt;<a href="../../../boost/proto/context.hpp" target="_top">boost/proto/context.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the built-in evaluation contexts of Proto.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.context.callable_hpp"></a>Header &lt;<a href="../../../boost/proto/context/callable.hpp" target="_top">boost/proto/context/callable.hpp</a>&gt;</h3></div></div></div>
<p>Definintion of <code class="computeroutput"><a class="link" href="../boost/proto/context/callable_context.html" title="Struct template callable_context">proto::context::callable_context&lt;&gt;</a></code>,
    an evaluation context for <code class="computeroutput"><a class="link" href="../boost/proto/eval.html" title="Function eval">proto::eval()</a></code>
    that fans out each node and calls the derived context type with the expressions constituents. If the derived context
    doesn't have an overload that handles this node, fall back to some other context. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">context</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/callable_eval.html" title="Struct template callable_eval">callable_eval</a><span class="special">;</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Context<span class="special">,</span> 
               <span class="keyword">typename</span> DefaultCtx <span class="special">=</span> <a class="link" href="../boost/proto/context/default_context.html" title="Struct default_context">proto::context::default_context</a><span class="special">&gt;</span> 
        <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/callable_context.html" title="Struct template callable_context">callable_context</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.context.default_hpp"></a>Header &lt;<a href="../../../boost/proto/context/default.hpp" target="_top">boost/proto/context/default.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">context</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/default_eval.html" title="Struct template default_eval">default_eval</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/default_context.html" title="Struct default_context">default_context</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.proto.context.null_hpp"></a>Header &lt;<a href="../../../boost/proto/context/null.hpp" target="_top">boost/proto/context/null.hpp</a>&gt;</h3></div></div></div>
<p>
    Definintion of
    <code class="computeroutput"><a class="link" href="../boost/proto/context/null_context.html" title="Struct null_context">proto::context::null_context&lt;&gt;</a></code>,
    an evaluation context for
    <code class="computeroutput"><a class="link" href="../boost/proto/eval.html" title="Function eval">proto::eval()</a></code>
    that simply evaluates each child expression, doesn't combine the results at all, and returns void.
  </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">proto</span> <span class="special">{</span>
    <span class="keyword">namespace</span> <span class="identifier">context</span> <span class="special">{</span>
      <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <a class="link" href="../Expr.html" title="Concept Expr">Expr</a><span class="special">,</span> <span class="keyword">typename</span> Context<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/null_eval.html" title="Struct template null_eval">null_eval</a><span class="special">;</span>
      <span class="keyword">struct</span> <a class="link" href="../boost/proto/context/null_context.html" title="Struct null_context">null_context</a><span class="special">;</span>
    <span class="special">}</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2008 Eric Niebler<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="users_guide.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../proto.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/proto/term.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
